The following discussion sets forth the inventors' own knowledge of certain technologies and/or problems associated therewith. Accordingly, this discussion is not an admission of prior art, and it is not an admission of the knowledge available to a person of ordinary skill in the art.
One advantage of IP telephony is the ability to leverage the physical infrastructure used to support the Internet. In the traditional Public Switched Telephone Network (PTSN), adding a new line requires a dedicated analog two-wire circuit to the subscriber's building and dedicated circuits within the building for each handset. In IP telephony, communication services can be extended to almost any internet-connected device. An IP telephony network can support large numbers of simultaneous calling sessions using the infrastructure of the Internet to transmit call data. However, practical limits exist on the number of calls that can be simultaneously supported by the network devices used to provide IP telephony services. Network devices have finite amounts of memory and processing power with which to process and transmit the call data in real time. Additionally, maintaining acceptable quality of service results in the available network bandwidth being divided into virtual communication channels. An IP telephony system must manage the inventory of available communication channels and allocate channels to authorized participants.
IP telephony networks typically utilize Session Initiation Protocol (SIP) for setting up and establishing (i.e., terminating) communication sessions via the Internet. A SIP connection is an individual communication session between two devices. Each SIP connection may support a voice call and/or other multimedia communication over a virtual communication channel linking two remote parties. Whereas a SIP connection supports an individual communication session, a SIP trunk is a link that supports transmission of multiple simultaneous SIP sessions. In some scenarios, a SIP trunk is a high-bandwidth Internet connection from a network service provider (NSTP) to the IP PBX or other network device of an enterprise IP communication system. In other scenarios, a SIP trunk is provided as a service over a shared ISP connection with other services. A SIP trunk can support a specific number of simultaneous SIP sessions, which can be allocated as needed among the users of an enterprise system. The capacity of a SIP trunk is represented by the number of virtual channels it supports, each virtual channel supporting a single communication session between two devices.
In order to increase communication capacity, an enterprise communication system may retain the services of multiple SIP trunks, which can then be logically grouped into SIP trunk groups. In some cases, a SIP trunk group may be dedicated to a particular facility of the enterprise, where the facility is provided IP telephony service using IP PBX. In other cases, a SIP trunk group can be used by multiple facilities of the enterprise, each provided IP telephony services by a separate IP PBX. However, reserving a SIP trunk group for exclusive use of the enterprise will frequently result in significant portions of the SIP trunk group capacity remaining unused. Similar to a traditional PTSN line, a conventional allocation that dedicates a SIP trunk group to an enterprise system results in idle capacity when the available channels are not used. Although a certain amount of capacity overhead is desirable, enterprises and providers of unified communication services would prefer to increase utilization of available network resource by reducing idle channels in shared SIP trunk groups.
In order to improve utilization of the SIP trunk group capacity, a service provider may prefer to share a SIP trunk group among multiple enterprises. With more enterprises utilizing a SIP trunk group, fewer of the communication channels provided by the SIP trunk group will sit idle. However, by sharing a SIP trunk group with other communication systems, enterprises run the risk that calling resources will be in use by these other systems when a user of the enterprise system attempts to establish a session. Consequently, there is need for the ability to configure the sharing of SIP trunk groups within a group of participating enterprises, but still provide individual enterprises with certain guarantees of available capacity that is reserved for exclusive use of the enterprise. Furthermore, despite the fact that a SIP trunk group may be shared between various locations using various network devices, unified communication systems require a centralized tool that is capable of configuring all of the network devices needed to implement sharing of a SIP trunk group. Another difficulty posed by sharing of SIP trunk groups is the management of available channels in a manner that allows an arbitrary channel to be utilized by any participating enterprise while also ensuring that the capacity limits on each individual enterprise are still enforced.